The communications industry is rapidly changing to adjust to emerging technologies and ever increasing customer demand. This customer demand for new applications and increased performance of existing applications is driving communications network and system providers to employ networks and systems having greater speed and capacity (e.g., greater bandwidth). In trying to achieve these goals, a common approach taken by many communications providers is to use packet switching technology. Increasingly, public and private communications networks are being built and expanded using various packet technologies, such as Internet Protocol (IP).
A network device, such as a switch or router, typically receives, processes, and forwards or discards packets. The performance and traffic congestion management of a switching fabric typically depends greatly upon load balancing per destination among paths through the fabric. The distribution of packets is complicated by the fact that particular destinations may not have all paths available for routing cells. Moreover, it is typically desirable to use a simple distribution scheme and to avoid extensive route determination processing and collection and storage of an extensive set of information.
Especially when a simple deterministic distribution method (e.g., round robin) is used, the traffic generated may not be balanced across all links. Rather, for example, a next location might receive more than its share of packets generated for a particular destination. For example, a round-robin distribution scheme may be used with a check made to see if a destination is reachable over a particular link, and if the destination of a packet is not reachable over a particular link, the packet is typically sent over the next link identified by the distribution scheme. Thus, that next link will typically get more than its desired share of traffic for a particular destination (e.g., its share plus the previous link's share.) Thus, an undesirable traffic pattern may be generated which may impact the performance of a packet switching system. It is desirable for a simple way for maintaining even uniform distribution per destination, even under conditions where faults may make some paths unavailable for some destinations. Needed are new methods and apparatus for routing and distribution of items across multiple paths to their respective destinations.